package cn.chenxiejia;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Random;

/***
 * @program: var1
 * @ClassName: task
 * @Description:
 * @Author: chenxiejia
 * @Date: 2022/1/6 13:55
 * @version : V1.0
 */
public class task {
    public static void main(String[] args) throws ParseException {
        Calendar time1 = Calendar.getInstance();
        System.out.printf("%tY年%<tm月%<td日 %<tH时%<tM分%<tS秒 %<tA%n", time1.getTime());


        System.out.printf("两个日期之间的天数：%n");
        var sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        var time2 = sdf.parse("2000-01-01 00:00:00");
        System.out.printf("%tY年%<tm月%<td日 %<tH时%<tM分%<tS秒 %<tA%n", time2);
        var Difference = time1.getTime().getTime() - time2.getTime();
        System.out.println("2000年1月1日至今过了" + Difference / (1000 * 60 * 60 * 24.0) + "天");


        System.out.println("计算五天前六天后的日期，这个月第一天，这个月最后一天");
        Calendar time3 = Calendar.getInstance();
        time3.add(Calendar.DAY_OF_MONTH, 6);
        System.out.printf("六天后的日期为：%tY年%<tm月%<td日 %<tH时%<tM分%<tS秒 %<tA%n", time3.getTime());

        Calendar time4 = Calendar.getInstance();
        time4.add(Calendar.DAY_OF_MONTH, -5);
        System.out.printf("五天前的日期为：%tY年%<tm月%<td日 %<tH时%<tM分%<tS秒 %<tA%n", time4.getTime());

        Calendar time5 = Calendar.getInstance();
        time5.add(Calendar.DAY_OF_MONTH, -Calendar.DAY_OF_MONTH);
        System.out.printf("本月第一天为：%tY年%<tm月%<td日 %<tH时%<tM分%<tS秒 %<tA%n", time5.getTime());

        Calendar time6 = Calendar.getInstance();
        time6.add(Calendar.MONTH, 1);
        time6.add(Calendar.DAY_OF_MONTH, -Calendar.DAY_OF_MONTH - 1);
        System.out.printf("本月最后一天为：%tY年%<tm月%<td日 %<tH时%<tM分%<tS秒 %<tA%n", time6.getTime());

        System.out.println("生成一个2000年1月1日至今的一个随机日期");
        var sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        var start = sdf1.parse("2000-01-01 00:00:00").getTime();
        long a = new Random().nextLong(start, System.currentTimeMillis());
//        var time7 = Math.round(Math.random() * a + start);
        System.out.printf("随机一天为：%tY年%<tm月%<td日 %<tH时%<tM分%<tS秒 %<tA%n", a);

        System.out.printf("#%.2f", 5.97);


    }
}
